package com.yuandian.customer.perception.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.api.customer_perception.po.*;
import com.yuandian.api.customer_perception.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @Author ywn
 * @Date 2021/5/20
 * @Description  重点用户页面相关的Dao
 */
@Repository
public interface ImportanceOperatorExtendMapper {

	/**
	 * 查询重点用户-最新告警
	 */
	LastAlarmVo queryLastAlarm(@Param("params") LastAlarmParams params);

	/**
	 * 查询重点用户-告警趋势
	 */
	List<AlarmTrendVo> queryAlarmTrendList(@Param("params") AlarmTrendParams params);

	/**
	 * 查询重点用户-业务系统健康度
	 */
	BusinessHealthRateVo queryBusinessHealthRate(@Param("params") BusinessHealthRateParams params);

	/**
	 * 重点用户-告警统计
	 */
	List<AlarmVo> queryAlarmList(Page<AlarmVo> page, @Param("params") AlarmParams params);

	/**
	 * 重点用户-重点用户实时使用情况列表
	 */
	List<RealTimeOperateVo> queryRealTimeOperateList(@Param("params") ImportanceOperatorParams params, @Param("partition")  String partition);

	/**
	 * 重点用户-用户操作轨迹
	 */
	List<OperateTrajectoryVo> queryOperateTrajectoryList(Page<OperateTrajectoryVo> page, @Param("params") OperateTrajectoryParams params);


	/**
	 * 重点用户-用户操作轨迹
	 */
	List<Map<String, Object>> operateAllTrajectory(@Param("params") OperateTrajectoryParams params);
}
